#ifndef CONF_DOCUMENT_H_
#define CONF_DOCUMENT_H_

#include "parser.h"
#include "element.h"

namespace gpyp {
namespace conf {

class Document : public Element {
private:
  Glib::ustring file_name_;
  Glib::ustring file_path_;

  RefAttributeVersion version_;

public:
  inline const Glib::ustring &get_file_name() const {
    return file_name_;
  }

  inline RefAttributeVersion version() {
    return version_;
  }

  void load();
  void load(const Source &source);
  void load_default();
  void save();

  Document(const Glib::ustring &file_dir,
           const Glib::ustring &file_name);
};
typedef boost::shared_ptr<Document> RefDocument;

}/*conf*/
}/*gpyp*/

#endif/*CONF_DOCUMENT_H_*/
